Wide area distributed storage system for checking erasion of worm file

ABSTRACT

A wide area distributed storage system checks for erasion of WORM (Write-Once Read-Many) files. A first management server ( 100   a ) acquires from second disk equipment ( 200   b ) a storage location of a file which corresponds to the file stored on first disk equipment ( 200   a ), of which a storage period has expired, and queries a management server ( 100   b ) about a storage period of the file whose storage location has been acquired. The queried file management server refers to a file table and indicates existence or non-existence of the file on the second disk equipment and whether the storage period of the file has expired or not. The system avoids unintended deletion of files by querying a plurality of file management servers about whether a file with an expired retention period should be set as a deletable object.

RELATED APPLICATIONS

The present application claims priority from Japanese application P2004-087671 filed on May 24, 2004, the content of which is hereby incorporated by reference into this application.

BACKGROUND

The present invention relates generally to a file management device for managing WORM (Write-Once Read-Many) files, and more particularly to a file management device that deletes the WORM file in safety.

WORM (Write-Once Read-Many) has hitherto been actualized by way of a write-once type storage medium such as an optical disk. The WORM is a storage medium that is physically incapable of changing such as erasing and overwriting forever after being written once. Over the recent years, however, some disk equipment have come into existence, wherein a WORM function is provided on HDD (Hard Disk Drive) that is essentially erasable for the purpose of storing data.

A file management device for managing WORM files, when an retention period of the WORM file expires, automatically (or manually) deletes this WORM file. A system clock of the file management device handles the expiry of the retention period. A relatively high precision is therefore required of this system clock. Further, it is desirable that the management devices, servers, storages, etc. within the same network perform management based on the same fiduciary time as a timestamp (timestamp format) for the files to be managed is the same.

Another known system (refer to, e.g., JP 3226158 B) in which between service data management devices spreading across networks, one service data management device manages original data, while the other service data management device stores the data in order to utilize copy data. Then, as in JP 3226158 B, there is known a wide area distributed storage for storing the file in distribution via a wide area network by applying a method of storing copies of the same file in distant locations.

Such being the case, one known time unitary (time synchronization) management system exists, wherein time servers for managing nodes residing in the same network segment on the network on the basis of the same timestamp are provided on networks, and the time managed by the time servers is dealt with by the time unitary management using (implementing) NTP (Network Time Protocol) and so on.

Further, the time is managed by different time servers between different network segments. These different time servers periodically correct the time of the time servers by utilizing the standard time carried on radio waves, GPS (Global Positioning System), etc., thus keeping the time accurate. Therefore, none of big differences occur among even the different time servers.

SUMMARY

If any one of the time servers falls into a large degree of time disorder due to some cause, however, it follows that the whole network segment in which the time servers are provided is to fall into the time disorder.

Other than a machine trouble of the time server itself, a cause for the time disorder of the time server might be an attack such as outside cracking, etc. intended to cause the time disorder of the time server. Especially, in case where the time of the time server is largely changed to future time from the present time, there might be a high possibility that an retention period of a WORM file managed by a file management device under the time-control of the time server is to expire. In the case of a system structured to automatically delete the files upon expires of the file retention period, many files might be unintentionally lost.

The present invention has been made in view of the above-mentioned problem, and therefore has an object to provide a storage system configured so as to query a management device in another network segment upon automatic deletion of a file after a retention period of a WORM file has elapsed.

According to the present invention, a first management device acquires from a second storage device a storage location of a file mapped to the file, stored on a first storage device, of which a storage period has expired, and queries a second file management device defined as the acquired file storage location about a storage period of the file whose storage location has been acquired; a second file management device refers to a second file table and gives a response containing a piece of information indicating an existence or non-existence of the file on the second storage device and a piece of information indicating whether the storage period of the file expires or not; a first file management device notifies a first management server, at least one of when the file is not stored on the second storage device and when the storage period of the file in the second file management device does not yet expire, of this purport without deleting the file from the first storage device, on the basis of the response; and the first management device deletes the file from the first storage device, when the file is stored on the second file management device and when the storage period of the file expires also on the second storage device, on the basis of the response.

According to the present invention, a system can reliability be enhanced without performing unintended deletion of the file even if the self-system falls into time disorder by querying a plurality of file management devices about whether the file of which an retention period has expired may be set as a deletable object or not.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an architecture of a storage system according to an embodiment of the present invention.

FIG. 2 is a block diagram showing in-depth configurations of a file management server 100 and of a disk equipment 200 according to the embodiment of the present invention.

FIGS. 3(a) and 3(b) show examples of contents of file tables 108 managed by the file management server 100 according to the embodiment of the present invention.

FIG. 4 is a flowchart showing processes of a retention checking program and a replied program on the file management server 100 according to the embodiment of the present invention.

FIG. 5 is an explanatory diagram showing contents of a query request packet according to the embodiment of the present invention.

FIG. 6 is an explanatory diagram showing contents of a query response packet according to the embodiment of the present invention.

FIG. 7 is a flowchart showing processes of a table entry deleted program according to the embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

An embodiment of the present invention will hereinafter be described with reference to the drawings.

FIG. 1 is a block diagram showing an architecture of a storage system according to the embodiment of the present invention.

Two network segments (a network segment 10A and a network segment 10B) are connected to each other via INTERNET 20.

The respective network segments 10 are connected through routers 500 to the INTERNET 20. Networks 600 are built up in the network segments 10. System management server 300, time servers 400, and file management server 100 are connected to the networks 600. Further, disk equipment 200 are connected to the file management server 100.

The system management server 300 is defined as a computer including a CPU, a memory, a storage device, and an interface. The system management server 300 governs respective nodes residing in the network segment 10 and executes, for example, changing settings by an administrator, notifying the administrator of an error message, and so forth.

The time server 400 is a time management server including a CPU, a memory, a storage device, and an interface. The time server 400 keeps accurate the internal time of the time server 400 at all times by receiving (synchronizing with) radio waves of the standard time and by utilizing GPS (Global Positioning System). Further, the time server 400 supplies an accurate piece of time information to respective nodes residing in the network segment 10 by use of the protocols such as NTP (Network Time Protocol), etc., thereby enabling the accurate time to be set in the internal clock of each node.

The router 500 effects routing of data between the network segment 10 and the INTERNET 20.

The file management server 100 is defined as a computer device including a CPU, a memory, a storage device, and an interface. The file management server 100 to which the disk equipment 200 is connected manages the files stored on the disk equipment 200, and controls writing or reading of the file to or from the disk equipment 200 in response to a request given from a client or the like.

The disk equipment 200 includes high-speed big volume storage (archival storage) such as a disk drive for storing the data (WORM files), wherein the data are written thereto or read therefrom under the control of the file management server 100.

Copies of the same WORM file are stored (backed up) on the disk equipment 200 a in the network segment 10A and the disk equipment 200 b in the network segment 10B. Namely, one storage device functions as a backup device for the other. Thus, the respective disk equipment store the copies of the data in distribution through the INTERNET 20, thereby configuring the wide area distributed storage system.

It should be noted that FIG. 1 shows the two network segments through the INTERNET 20, but the number of the network segments are not limited to two according to the present invention.

FIG. 2 is a block diagram showing in-depth configurations of the file management server 100 and of the disk equipment 200.

The file management server 100 is constructed of a processor (CPU) 101, a cache memory 102, a main memory 103, a storage device adapter 104, an internal clock 105, a network interface (I/F) 106, an input/output (I/O) unit 107, a file table 108, etc.

The main memory 103 is stored with a retention checking program, a replied program and a table entry deleted program, and operates under the control of the CPU 101. Incidentally, operations of these programs will be explained later on.

The storage device adapter 104 functions as an interface for transmitting and receiving the data and control signals between the file management server 100 and the disk equipment 200. The storage device adapter 104 involves using protocols such as a SCSI (Small Computer System Interface) protocol, a Fibre Channel protocol, etc.

The internal clock 105 is a clock that controls the time of the file management server 100. Time information supplied from the internal clock 105 is utilized for indicating a storage date/time (archive date/time) of the file stored (archived) on the disk equipment 200. The internal clock 105 gives a time query to the time server 400 connecting in the same network segment 10 at arbitrary time or periodically, and synchronizes the time acquired as a result of the query with its own clock time on the basis of the protocol such as NTP, etc. The time of the internal clock 105 is thus synchronized with the time of the time server 400 at all times.

The network I/F 106, which is connected to the network 20, transmits and receives datagram such as a packet, etc. by use of, e.g., TCP/IP (Transmission Control Protocol/Internet Protocol). The I/O unit 107 to which an input/output device is connected is used for a user such as an administrator to directly operate the file management server 100. The I/O unit 107 is a serial port like RS-232C.

The file table 108 is stored with pieces of information .of the files stored on the disk equipment 200, wherein the file information is sorted out in a way that associates these pieces of file information with stored file names. It should be noted that the file name is set unique throughout the network segment 10A and the network segment 10B by the file management server 100 according to a naming rule of the file name. The file management server 100 refers to the file table 108, thereby acquiring the file, judging whether the retention period of the file expires or not, and so forth.

The disk equipment 200 is roughly sectioned into a storage control unit 210 and disk drives 220.

The storage control unit 210 is constructed of a disk control processor 201, a cache memory 202, a main memory 203, a file management server adapter 204, a storage adapter 205, etc. The storage control unit 210 controls input and output of the data to the disk drives 220.

The file management server adapter 204 functions as an interface for transmitting and receiving the data between the file management server 100 and the disk equipment 200. The file management server adapter 204 involves using the protocols such as the SCSI (Small Computer System Interface) protocol and the Fibre Channel protocol, etc.

The storage adapter 205 functions as an interface for transmitting and receiving the data to and from the disk drives 220 on the basis of the protocols such as the SCSI protocol and the Fibre Channel protocol, etc.

The main memory 203 is preinstalled with, although not shown, a program for controlling the storage control unit 210 and with other programs. These programs run under the control of the disk control processor 201.

The disk drives 220 are constructed of high-speed big volume storage (archival storage) such as a hard disk.

It should be noted that the disk drives 220 may also be constructed of, without being limited to the hard disk, a tape drive and other disk equipments. FIG. 2 shows two pieces of disk drives, however, there may also be adopted a single disk drive and a redundant configuration using two or more pieces of disk drives.

Next, an operation of the embodiment of the present invention having the architecture described above, will be explained.

According to the storage system in the embodiment of the present invention, as discussed above, the WORM file stored in the unspecified network segment 10A is also stored as a copy thereof in other network segment 10B.

It is herein assumed that the retention period of the WORM file stored in the network segment 10A may have already expired. The file management server 100 a executes a process for deleting the WORM file of which the retention period has expired. On this occasion, however, the file management server 100 a queries other file management server 100 b stored with the copy of the WORM file about whether its retention period expires or not. Then, if it proves from a result of the query that the retention period of the WORM file copy stored on the same file management server 100 b also expires, the file management server 100 a deletes the corresponding WORM file stored on the file management server 100 a itself. On the other hand, if the retention period of the corresponding WORM file copy stored on other file management server 100 b does not yet expire, the file management server 100 a judges that an abnormality occurs in the retention period of the WORM file stored on the file management server 100 a itself, and executes a predetermined process such as giving an error notification.

FIGS. 3(a) and 3(b) are explanatory diagrams showing contents of the file table 108 managed by the file management server 100. FIG. 3(a) shows the file table 108 managed by the file management server 100 a. FIG. 3(b) shows the file table 108 managed by the file management server 100 b.

In the file table 108, every file has one record consisting of pieces of data (values) recorded as entries in at least a “file name” field, a “store location” field (containing a “storage equipment name” subfield and a “file path” subfield), a “file creation date (file archive date)” field, a “file retention period” field, and a “file delete attribute flag” field. These entries (values) are created when an entity of the file or the copy thereof is stored on the disk equipment 200. When creating the entries, the file delete attribute flag is set [OFF]. In an example shown in FIG. 3(a), a file name [F_(—)3feedc] explicitly shows that a file specified by the file name [F_(—)3feedc] is stored (archived) in a path [/100/200] in the disk equipment 200 a. Further, a value of 10 (ten years) is set as the retention period. This file table 108 also shows that a copy of the file specified by the file name [F_(—)3feedc] is backed up on the disk equipment 200 b. The data entered as the file path, the creation date, the retention period, etc. are managed by the file management server 100 b that manages the disk equipment 200 b, and are not therefore recorded as the entries of the file management server 100 a. On the other hand, in FIG. 3(b), a file name [F_(—)3feedc] explicitly shows that a file specified by this file name is stored in a path [/103/19] in the disk equipment 200 b.

Further, the file delete attribute flag indicates whether or not the file entity has already been deleted from the disk equipment. In the example in FIG. 3(a), a storage location of a file specified by a file name [F_(—)256afe] is the disk equipment 200 a. However, the file delete attribute flag is “ON”, and hence its implication is that the file entity has already been deleted from the disk equipment 200 a.

It should be noted that the entries of the file, of which the entity was deleted, are to be deleted by use of a table entry deleted program that will be explained later on.

Given next is an explanation of a process executed when the file retention period managed in the file table 108 expires.

FIG. 4 is a flowchart showing processes of the retention checking program and the replied program on the file management server 100.

As described above, the retention checking program and the replied program run on the file management server 100. It should be noted that the discussion will herein be focused on a process in which the retention checking program of the file management server 100 a existing in the network segment 10A queries the replied program of the file management server 100 b existing in the network segment 10B.

The retention checking program starts with timer event and starts processing (1001). The retention checking program acquires time information from the internal clock, etc. provided in the file management server 100, and starts at a predetermined interval on the basis of this piece of time information. It should be noted that the retention checking program may also starts not periodically but at an arbitrary timing as the administrator gives an instruction, and so on.

The retention checking program acquires at first the present time from the internal clock 105 (1002). Next, the retention checking program reads one tuple of entries in sequence from the top in the file table 108 under the control of the file management server 100 (1018). Then, the retention checking program checks whether the readout entries are existent entries or not. Namely, if the readout entries are not existent (null entries), this implies that the processing reaches an end of the file table 108 (1003). When judging that the final tuple of entries is reached and that the processing for all tuples of entries is completed, the retention checking program terminates (1004).

On the other hand, if the readout entries are existent, namely, when judging that the processing does not yet reach the end of the file table 108, the retention checking program judges whether or not a device name in the “store location” field in the readout entries is coincident with the disk equipment 200 a managed by the file management server 100 a (1019). When judging that the readout entry in the “storage equipment name” subfield of the “store location”field is not coincident with the disk equipment 200 a managed by the file management server 100 a, this tuple of entries is ruled out of a subsequent processing object, and hence the retention checking program returns to the process 1018 (1019).

In the process 1019, the retention checking program, when judging that the readout entry in the “storage location name” subfield of the “store location” field is coincident with the disk equipment 200 a managed by the file management server 100 a, refers to an entry as a creation date and an entry as an retention period and compares this retention period with the period acquired in the process 1002. The retention checking program judges from a result of this comparison whether or not the entry given in the “retention period” field exceeds the period acquired in the process 1002, and judges whether the file delete attribute flag is OFF or not (1020). When judging that the retention period exceeds the term acquired in the process 1002 and that the file delete attribute flag is OFF, the retention checking program determines that the retention period of the file specified by these entries expires, and proceeds to a next process 1005. If other than the case described above, these entries are ruled out of the subsequent processing object, and therefore the retention checking program returns to the process 1018 (1020).

In the process 1005, the file table 108 is again searched in a way that uses the file name as a search key, thereby extracting the file management device (e.g., the file management server 100 b in the network segment 10B) in other network segment, which retains a copy of the file concerned. Then, it is judged whether the not-yet-queried file management device exists or not among the extracted devices in other network segment that retain the copies of the file concerned.

When judging that the queries about all the file management server 100 have been made, the retention checking program executes the file retention period expiry process for the file concerned (1017). According to this file retention period expiry process, in the file table 108, [ON] is set as an entry in the “file delete attribute flag” field of the file of which the retention period has expired. Then, the file entity stored on the disk equipment 200 a is deleted. It should be noted that a deletable flag may be added as an entry in the file table 108 without deleting the entity of the file whose retention period has expired. In this case, the entity of the file may be deleted simultaneously when deleting the entries of the file, and may also be deleted manually at a different timing by an operation of the administrator. For simplifying the explanation herein, the file entity stored on the disk equipment 200 a is deleted on the occasion of setting [ON] as an entry in the “file delete attribute flag” field of the file whose retention period expiry has been detected. Thereafter, the retention checking program loops back to the process 1002.

In the process 1005, the retention checking program, when judging that there still exists the not-yet-queried file management server 100, sends a query request for querying this file management device (the file management server 100 b) whether the file retention period thereof expires or not (1006).

The replied program on the file management server 100 b residing in the network segment 10B receives the query request (1007). The replied program obtains the present time from the internal clock 105 (1008). Next, the replied program judges whether a file name contained in the query request specifies a file whose copy is retained on the file management server 100 b itself, by referring to the file table 108 in a way that uses the file name contained in the query request as a search key. Then, in the case of the file of which the copy is retained on the file management server 100 b itself, the replied program refers to the file table 108, thereby judging whether the file retention period expires or not (1009).

Subsequently, the replied program gives the query request sender, i.e., the file management server 100 a as a result of the process 1009, viz., a response to the query about whether or not the query requested file is the file whose copy is retained on the file management server 100 b itself and whose retention period expires (1010).

The retention checking program on the file management server 100 a receives the result of the query sent from the file management server 100 b (1011). Then, the retention checking program judges from the received query result whether or not the copy of the file concerned has been stored on other file management device (the file management server 100 b) that has sent the result of the query request (1012). The retention checking program, when judging that the file copy has been stored on the file management server 100 concerned, judges from the received result of the query whether the file retention period expires or not (1013). The retention checking program, when judging that the retention period of the query requested file expires on the file management server 10 b, returns to the process 1005, wherein the retention checking program continues the process with respect to other file management server 100.

In the process 1012, on the other hand, if the file copy is judged not to be stored on other file management server 100, or if it is judged that the retention period of the file copy stored on other file management server 100 does not yet expire, the retention checking program judges that some abnormality occurs in the storage system and executes a warning process of giving an alarm to the system management server 300 a (1014). In this warning process, the retention checking program sends the alarm to the system management server 300 a, and outputs a content of the abnormality (the file copy is not existent, the retention period of the file copy does not expire, and so forth) to an output device such as a display provided in the system management server 300 a. The administrator examines the alarm content outputted and performs a necessary measure for the storage system. It should be noted that the alarming process may be, without being limited to the output to the output device, for example, attained by notifying the administrator through an alarm light, an alarm bell, etc., recording on MIB (Management Information Base), and so on.

FIG. 5 is an explanatory diagram showing contents of a query request packet sent to the query recipient, i.e., the file management server 100 b from the retention checking program in the process 1006 described above.

The query request packet contains at least a necessary piece of information (required for being transferred across the network) for transmitting the query request packet itself to the query recipient, a content of the process (that indicates a query about the file retention period) and a content showing a file name of the query target file.

FIG. 6 is an explanatory diagram showing contents of a query response packet sent back to the query sender, i.e., the file management server 10 a from the replied program in the process 1010 described above.

The query response packet contains at least a necessary piece of information (needed for being transferred across the network) for transmitting the query response packet itself to the query sender and contents of the process (that indicate whether the retention period of the request file expires or not, whether the file is existent or not, and so forth).

Given next is a description of how the entries of the already-deleted file are deleted from the file table 108.

As explained above, the file of which the retention period has expired is, after the retention checking program has confirmed the expiry of the file retention period, automatically (or manually) deleted from the disk equipment 200. At this time, the entries of the file still remain in the file table 108. After the file entity has been deleted, the entries thereof in the file table 108 are unnecessary and therefore deleted by the table entry deleted program.

FIG. 7 is a flowchart showing processes of the table entry deleted program. Given herein is an explanation of the processes in which the table entry deleted program on the file management server 100 a residing in the network segment 10A deletes the entries in the file table 108.

The table entry deleted program starts with timer event and starts processing (2001). The table entry deleted program acquires time information from the internal clock, etc. provided in the file management server 100, and starts at a predetermined interval on the basis of this piece of time information. It should be noted that the table entry deleted program may also start not periodically but at an arbitrary timing as the administrator gives an instruction, and so on.

The table entry deleted program acquires at first the present time from the internal clock 105 (2002).

Next, the table entry deleted program reads one tuple of entries in sequence from the top in the file table 108 under the control of the file management server 100 (2013). Then, the table entry deleted program checks whether the readout entries are existent entries or not. Namely, if the readout entries are not existent (null entries), this implies that the processing reaches an end of the file table 108 (2003). When judging that the final tuple of entries is reached and that the processing for all tuples of entries is completed, the table entry deleted program terminates (2004).

On the other hand, if the readout entries are existent, namely, when judging that the processing does not yet reach the end of the file table 108, the table entry deleted program next judges whether or not an entry in the “storage equipment name” subfield of the “store location” field is coincident with the disk equipment 200 a managed by the file management server 100 a (2014). When judging that the readout entry in the “storage name” subfield of the “store location” field is not coincident with the disk equipment 200 a managed by the file management server 100 a, this tuple of entries is ruled out of a subsequent processing object, and hence the table entry deleted program returns to the process 2013 (2014).

Next, the table entry deleted program judges whether the entry as the file delete attribute flag is effective or not, i.e., whether the file delete attribute flag is ON or not (2005). The table entry deleted program, when judging that the file delete attribute flag is not effective, i.e., the file delete attribute flag is OFF, has no necessity of deleting the entries concerned and therefore returns to the process 2013 in order to execute the process for other tuple of entries.

The table entry deleted program, when judging that the entry as the file delete attribute flag is effective, judges whether the file retention period of the file specified by the concerned entries expires or not, by comparing with the present time acquired in the process 2002 (2006). When judging that the file retention period does not yet expire, the file retention period does not yet expire, and nevertheless an attribute of deletion is given to the entries of the file concerned, so that the table entry deleted program judges that some abnormality occurs in the file management server 100 or the storage system. Then, the table entry deleted program executes a process of giving an alarm to the system management server 300 (2012). In this alarming process, the table entry deleted program sends the alarm to the system management server 300, and outputs a content of the abnormality (the file delete attribute is ON in the file table 108 before the file retention period expires, namely, the file entity is to be deleted, and so on) to the output device such as the display provided in the system management server 300. The administrator examines the alarm content outputted and performs a necessary measure for the storage system.

The table entry deleted program, when judging that the file retention period expires, next judges which the sum total of the file retention period, that indicated by the entry value, and the margin period has exceeded or not. (2007).

Herein, the margin period is a term during which the entries themselves are left in the effective status of the file delete attribute flag even after deleting the file entity from the disk equipment 200. This margin period is the term provided in consideration of a possibility that after the retention checking program on the file management server 100 has deleted the entity of the file with its retention period expired from the disk equipment 200, other file management 100 might refer to the entries of the deleted file.

For instance, a case will be explained, wherein the retention checking program executed on the file management server 100 a is set to start in the morning, while the retention checking program executed on the file management server 100 b is set to start in the afternoon. In this case, on the very same day, an entity of a file whose retention period expires might be deleted on the file management server 10 a but might not yet be deleted on the file management server 10 b. Hereat, the program on the file management server 100 b sends the query request is given to the file management server 100 a. However, if the file entity is deleted on the file management server 100 a, and if the entries in the file table are deleted immediately thereafter, a query response saying that the file concerned does not exist is sent back, resulting in an error. For preventing this error, even after automatically deleting the file entity, the entries themselves are left in the effective status of the file delete attribute flag till the margin period expires. It should be noted that the margin period be, it is desirable, set several times as long as a start interval of the retention checking program. The margin period is set to, for example, ten days if the program starts once a day as in the present embodiment.

The table entry deleted program, when judging that the period of the indicated-by-entry-value the sum total of the file retention period and margin period does not yet expire, does not execute the delete process for the entry concerned and returns to the process 2013 to execute the processes for another tuple of entries.

The table entry deleted program, when judging that the period of the indicated-by-entry-value the sum total of the file retention period and margin period expires, next judges the file deleted or not, which is recorded file store location(the disk equipment 200) in the entry (2008). Incidentally, an assumption herein is that the file entity stored on the disk equipment 200 a has already been deleted in the file retention period expiry process (the process 1017 in FIG. 6).

The table entry deleted program, if the file entity is not deleted, judges that some abnormality occurs in the file management server 100 or the storage system. Then, the table entry deleted program executes a warning process of giving an alarm to the system management server 300 (2012). In this warning process, the table entry deleted program sends the alarm to the system management server 300, and outputs a content of the abnormality (the file retention period expires, but the file entity remains without being erased, and so on) to the output device such as the display provided in the system management server 300. The administrator examines the alarm content outputted and performs a necessary operation to the storage system.

The table entry deleted program, when judging that the file entity has been deleted, deletes the record which included the entry in the table (2009). Next, the table entry deleted program refers to the file table 108 by use of the file name as a search key, thereby judging whether or not there is same file name entries (showing a different device name, i.e., the different disk equipment 200 connected to the file management server 100) that aren't the same “store location” (2010).

The table entry deleted program, when judging that there is no same file name entries that aren't the same “store location”, returns to the process 2013, wherein the table entry deleted program executes the processes for other tuple of entries. The table entry deleted program, when judging that the same file name entries that aren't the same “store location” exists, deletes the entries associated with this file (2011). Then, the table entry deleted program returns to the process 2010 and repeats the processes 2010 and 2011 till all the entries of this file stored in the different storage location are deleted from the file table 108.

As discussed above, the table entry deleted program deletes the entries of the file whose entity has been deleted from the file table 108 after the predetermined period has elapsed.

According to the storage system in the embodiment of the present invention having the architecture described above, the file management server 100, when judging that there expires the retention period of the file (the WORM file) stored on the storage device under the control of the file management server 100, queries other file management server 100 retaining the copy of the file so as to check whether the retention period expires or not. If it proves from a check result that the retention period of the file copy likewise expires, this file can be deleted.

The scheme described above makes it possible to detect the abnormality in the time on the file management server 100 or the abnormality in the entries registered. If the time mechanism on the file management server 100 managing the file retention period is considerably disordered (such as cracking of the time server 400 controlling the time on the file management server 100, and so forth), if the file table 108 of the file management server 100 is rewritten (falsified) by cracking, etc., and if the internal clock 105 of the file management server 100 is set ahead of the real time by cracking, etc., it is possible to enhance the security of the system by preventing the file from being unintentionally erased.

Further, the WORM file is the file that should be stored for the fixed period of time, and hence the retention period can be surely managed according to the present invention.

While the present invention has been described in detail and pictorially in the accompanying drawings, the present invention is not limited to such detail but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. 

1. A file management method in a storage system comprising a first network segment and a second network segment that are connected to each other, the first network segment including: a first disk equipment storing a file; a first management server having a first file table managing a storage location and a storage period of the file stored on the first disk equipment; a first time server providing time information to the first management server; and a first system management server receiving an alarm from the first management server, the second network segment including: a second disk equipment storing a file having the same content as that of the file stored on the first disk equipment; a second management server storing a second file table managing a storage location and a storage period of the file stored on the second disk equipment; a second time server providing time information to the second management server; and a second system management server receiving an alarm from the second management server, the method comprising: obtaining from the second disk equipment a storage location of a file which corresponds to the file, stored on the first disk equipment, of which a storage period has expired, and querying the second management server defined as the obtained file storage location about a storage period of the file whose storage location has been obtained, by operating the first management device; referring to the second file table and giving a response containing a piece of information indicating an existence or non-existence of the file on the second disk equipment and a piece of information indicating whether the storage period of the file expires or not, by operating the second management server; notifying the first system management server of when the file is not stored on the second disk equipment and/or when the storage period of the file in the second management server does not yet expire, without deleting the file from the first disk equipment, based on the response by operating the first management server; and deleting the file from the first disk equipment, when the file is stored on the second management server and when the storage period of the file expires also on the second disk equipment, based on the response by operating the first management device.
 2. A management server connected to a disk equipment, comprising: an internal clock; and a file table managing a storage location and a storage period of a file stored on the disk equipment, the management server managing the file stored on the disk equipment based on a result of comparing a present time acquired from the internal clock with the storage period of the file recorded in the file table, wherein the management server searches another disk equipment stored with a file which corresponds to the file, stored on the disk equipment, of which the storage period has expired, queries another management server managing the thus-searched other disk equipment about a storage period of the file, notifies of when the storage period of the file does not yet expire in the other management server, without permitting file deletion from the disk equipment as a result of the query, and permits to delete the file from the disk equipment when the storage period of the file expires in the other management server, as the result of the query.
 3. The management server according to claim 2, wherein the management server: notifies of when the file is not stored on the other management server and/or when the storage period of the file in the other management server does not yet expire, without permitting the file deletion from the disk equipment, as a result of the query, and permits to delete the file from the disk equipment when the file is stored on the other management server and that the storage period of the file expires also on the other management server, as the result of the query.
 4. The management server according to claim 2, wherein the time of the internal clock is managed by a first time server connected via a first network to the management server, a time of an internal clock of another management server as a query recipient is managed by a second time server through a second network, and the first time server and the second time server are different from each other.
 5. The management server according to claim 4, wherein the management server is connected together with the first time server to the first network, the other management server is connected together with the second time server to the second network, and the first network and the second network belong to different network segments.
 6. The management server according to claim 2, wherein the management server, upon receiving a query about the storage period of the file from another management server, referring to the file table provided in the management server itself, sends to the other management server a response containing pieces of information indicating an existence or non-existence of the file related to the query and indicating whether the storage period of the file related to the query expires or not.
 7. The management server according to claim 2, wherein the management server deletes, pieces of information associated with the file in the file table after a predetermined period has elapsed since the storage period of the file expired after the file had been deleted from the disk equipment, as the result of the query,.
 8. The management server according to claim 2, wherein after executing a process of deleting the file from the disk equipment based on the result of the query, the management server: notifies of when the storage period of the file recorded in the file table does not yet expire or when the file is stored on the disk equipment, without deleting information associated with the file in the file table, and deletes the information associated with the file in the file table after a predetermined period has elapsed since the storage period of the file expired, when the storage period of the file in the file table expires and when the file is not stored on the disk equipment.
 9. A program causing a management server connected to a disk equipment and comprising an internal clock and a file table managing a storage location and a storage period of a file stored on the disk equipment, to execute: a first step of acquiring a present time from the internal clock; a second step of searching another disk equipment stored with a file which corresponds to the file, stored on the disk equipment, of which the storage period has expired; a third step of querying another management server managing the thus-searched other disk equipment about a storage period of the file; a fourth step of notifying of when the storage period of the file does not yet expire in the other management server, without permitting file deletion from the disk equipment, as a result of the query; and a fifth step of permitting to delete the file from the disk equipment when the storage period of the file expires in the other management server, thereby managing the file stored on the disk equipment, as the result of the query.
 10. The program according to claim 9, wherein the fourth step involves notifying of, when the storage period of the file in the other management server does not yet expire in addition to when the file is not stored on the other management server, without permitting the file deletion from the disk equipment, and the fifth step involves permitting to delete the file from the disk equipment when information associated with the file is stored on the other management server and when the storage period of the file contained in the information expires on the other management server.
 11. The program according to claim 9, further causing the management server to execute a sixth step of referring, upon receiving a query about the storage period of the file from other management server, to the file table provided in the management server itself, sending to the other management server a response containing at least one of pieces of information indicating an existence or non-existence of the file related to the query and indicating whether the storage period of the file related to the query expires or not.
 12. The program according to claim 9, further causing the management server to execute a seventh step of deleting pieces of information associated with the file in the file table, after a predetermined period has elapsed since the storage period of the file expired after the file had been deleted from the disk equipment as the result of the query.
 13. The program according to claim 9, further causing the management server to execute an eighth step of notifying of, after executing a process of deleting the file from the disk equipment based on the result of the query, when the storage period of the file recorded in the file table does not yet expire or when the file is stored on the disk equipment, without deleting information associated with the file in the file table, and deleting the information associated with the file in the file table after a predetermined period has elapsed since the storage period of the file expired, when the storage period of the file in the file table expires and when the file is not stored on the disk equipment. 